package com.apache.log.db;


import com.apache.database.model.Page;

import java.util.List;
import java.util.Map;

/**
 * @description: 数据库统一操作DAO接口
 * @author: Hou Dayu
 * @date: Created in 2020/11/18
 */
public interface DbBaseDao {

    /**
     *
     * description: 新增单个对象
     *
     * @param param 方法参数模型
     * @return true为新增成功；false为新增失败
     */
    boolean insert(Map<String,Object> param);

    /**
     *
     * description: 修改对象值
     *
     * @param param 方法参数模型
     * @return true为修改成功；false为修改失败
     */
    boolean edit(Map<String,Object> param);

    /**
     *
     * description: 删除指定对象
     *
     * @param param 方法参数模型
     * @return true为删除成功；false为删除失败
     */
    boolean delete(Map<String,Object> param);

    /**
     * description: 按信息ID获取唯一对象实例
     *
     * @param param 方法参数模型
     * @return 返回sql执行后的数据对象
     */
    Object selectById(Map<String,Object> param);

    /**
     *
     * description: 分页查询
     *
     * @param param 方法参数模型
     * @return 返回page对象
     */
    Page pageSelect(Map<String,Object> param, int pageNo, int pageSize);

    /**
     *
     * description: 列表查询
     *
     * @param param 方法参数模型
     * @return 返回sql执行的结果集
     */
    List select(Map<String,Object> param );
}
